You are on page 1of 48

Menerjemahkan Angka ke Kata-kata di

dalam Microsoft Excel


July 25, 2005 by maseko
Ini salah satu cara bagaimana menerjemahkan angka ke dalam kata-kata dengan Visual Basic for Application
dan nantinya akan dikenali sebagai macro. Fungsi dalam list program yang dipakai nantinya sebenarnya dapat
digunakan pada aplikasi MS Office atau aplikasi Visual Basic lainnya namun pada bahasan ini dibatasi pada
penggunaan dalam aplikasi MS Excel karena keterbatasan pengetahuan saya. Bagi yang sudah terbiasa pada
penggunaan Visual Basic Editor pada MS Excel dapat langsung ke bagian list program.
Fungsi tersebut akan berguna:

Menerjemahkan angka ke dalam kata-kata sampai dengan 15 digit termasuk nilai desimal (ratusan trilian
apabila tanpa nilai desimal). Angka 15 digit ini merupakan nilai yang dapat ditampung MS Excel
sebelum dirubah ke nilai exponen.
Desimal yang diterjemahkan sampai dengan dua angka dibelakang koma.
Mengenal 4 Style, yaitu cara penulisan huruf besar/kecil-nya.
Bebas menggunakan satuan yang diinginkan.

Langkah-langkanya adalah:

1. Buka aplikasi MS Excel, apabila secara otomatis tidak muncul workbook baru (atau Book 1) maka
bukalah Workbook baru dari File > New… (Ctrl+N);
2. Pada workbook baru pada sheet mana saja pilihlah Tools > Macro > Visual Basic Editor atau dengan
shortcut Alt+F11. Lihat Gambar 1.

Gambar 1
3. Setelah itu akan muncul window baru bertitle Microsoft Visual Basic. Setelah itu, pilih Insert > Module.
Pada Module 1 yang baru dibuat, letakkan kursor pada bagian Code. Apabila belum muncul atau beralih
ke bagian tersebut pilih View > Code (F7).
4. Pada lembar kosong tersebut copy paste-kan list program pada file terbilang.txt. Lihat Gambar 2.

Gambar 2

5. Setelah Anda selesai mengcopy pilih File > Close and Return to Microsoft Excel untuk kembali ke
workbook MS Excel.
6. Simpan workbook tersebut, namai misalnya terbilang.xls.
7. Sekarang Anda dapat mencoba fungsi tersebut dalam sheet mana saja dalam workbook tersebut.
Misalnya Anda ketikan pada cell A1 angka berapa saja. Pilih cell yang akan menampung terjemahan
kata-katanya, misalnya di A2.
8. Pilih Insert > Function…, maka akan muncul dialog box daftar fungsi di MS Excel. Lihat Gambar 3.

Gambar 3
9. Dari daftar dalam Function category, pilihlah User Defined, sehingga dalam daftar di Function name
muncul nama fungsi terbilang, pilih fungsi tersebut kemudian klik OK, sehingga muncul dialog box
seperti Gambar 4.
Gambar 4
10. Isilah dialog box di atas dengan ketentuan sebagai berikut:
Nilai_Angka
Isilah dengan angka yang akan diterjemahkan, atau isi dengan nama cell yang berisi angka yang akan
diterjemahkan, misalnya A1.
Style
Isi dengan kode 1 sampai dengan 4 untuk menentukan cara penulisannya.
1: Teks terbilang ditulis dengan huruf besar (kapital) semua (uppercase);
2: Teks terbilang ditulis dengan huruf kecil semua (lowercase);
3: Teks terbilang ditulis dengan huruf besar pada awal kata saja (title case);
4: Teks terbilang ditulis dengan huruf besar pada huruf pertama saja (sentence case).
Isian style sifatnya optional, apabila tidak diisi maka defaultnya 4 (sentence case).
Satuan
Isi dengan satuan untuk teks terbilang, misalnya rupiah, unit atau buah. Isian satuan sifatnya optional,
apabila dikosongkan maka teks terbilang ditulis tanpa satuan tertentu.
11. Anda juga dapat langsung menggunakan fungsi terbilang secara langsung pada cell dengan formula:
=terbilang(Nilai_Angka;Style;”Satuan”)
Penjelasan lihat di atas. Perlu diperhatikan bahwa penulisan satuan ditulis dengan cara diapit tanda petik
(”).
12. Sekarang Anda tutup workbook tersebut. Coba buka kembali workbook tersebut, maka akan muncul
peringatan seperti Gambar 5. Untuk dapat menggunakan fungsi terbilang diatas Anda harus memilih
Enable Macros setiap kali Anda menggunakan

Gambar 5

Pada tahapan ini Anda dapat menggunakan fungsi terbilang pada cell dan worksheet mana saja tetapi terbatas
pada workbook tersebut. Setiap kali Anda membuat file MS Excel dan memerlukan fungsi terbilang Anda harus
mengulangi langkah-langkah di atas atau Anda menyimpan dengan nama atau lokasi yang berbeda dengan cara
File > Save As…
Ada cara lain agar setiap kali membuat file/workbook baru, Anda langsung dapat menggunakan fungsi
terbilang. Langkah-langkahnya:

1. Buka file yang Anda simpan di atas yang berekstensi xls. Kemudian pilih File > Save As.. Kemudian
pada isian File name isi dengan nama file, misalnya terbilang. Pada isian Save as type pilih Microsoft
Excel Add-In (*.xla). Lihat Gambar 6.

Gambar 6
Secara default folder yang terbuka untuk menyimpan file type Add-In ini berada pada
C:WINDOWS\Aplication Data\Microsoft\AddIns, sebaiknya Anda menyimpannya pada folder ini,
meskipun Anda dapat menentukan lokasi lain. Nantinya file yang disimpan berekstensi xla.
2. Setelah Anda menyimpannya, tutup MS Excel. Buka kembali dengan workbook baru.
3. Pada workbook baru tersebut pilih Tools > Add-Ins… Muncul dialog box seperti pada Gambar 7.
Gambar 7
Klik Browse… maka secara default Anda dihadapkan pada isi folder AddIns seperti disebut pada point 1,
kemudian pilih file Add-In terbilang tersebut. Maka fungsi terbilang akan masuk list pada Add-Ins
available seperti pada Gambar 7. Pastikan Anda beri tanda check. Kemudian klik OK.
4. Pada workbook baru ini, Anda sudah dapat menggunakan fungsi terbilang, begitu pula saat Anda nanti
membuat file/workbook baru.
5. Anda dapat menonaktifkan Add-In ini dengan menghilangkan tanda check seperti tersbut di atas.

Posted in MS Office

Tulisan lain yang mungkin terkait dengan tulisan di atas:

1. Fungsi Terbilang untuk OpenOffice.org


2. Fungsi Terbilang Untuk PHP
3. Jumlah Baris dan Kolom Excel 2007 yang Berkurang
4. Lupa Password Worksheet Microsoft Excel?
5. Microsoft Excel: Zero Leading

107 Responses to “Menerjemahkan Angka ke Kata-kata di


dalam Microsoft Excel”

#1
ANDIK said on October 20, 2005, 4:20 am:
bagaimana kalau terjadi bilangan yang terlalu panjang, apa bisa kata terbilang disambungkan ke baris di
bawahnya?

#2
maseko said on October 21, 2005, 4:29 pm:
Andik, hasil fungsi terbilang tertuang dalam satu cell atau beberapa cell yang dimerge.
Mungkin bisa diantisipasi jika sewaktu-waktu hasilnya akan panjang dengan menyiapkan cell yang cukup
‘tingginya’ dan dibuat wrapping.

#3
aaa said on January 5, 2006, 5:10 pm:
sudah aku coba, sukses cuman waktu ditutup & buka lagi (langkah 12) gak keluar enable macros. pilihannya
yes & no trus aku pilih yes tapi hasilnya gak bisa nerjemahin lagi
#4
maseko said on January 6, 2006, 6:51 pm:
aaa, kemungkinan setting securitynya terlalu tinggi
Coba dari Tools > Macro > Security.. Pilih yang Medium.

#5
Dwi said on January 18, 2006, 9:26 am:
maseko, gimana kalau setiap buka file yg udah ada funtion terbilang() ini tidak perlu melewati dialog box
seperti langkah no.12?, jadi macronya langsung bisa dipake. BISA??? THX

#6
maseko said on January 18, 2006, 3:58 pm:
Dwi, hal tersebut terkait dengan setting Security, seperti pada jawaban #4 di atas. Dialog box akan muncul, jika
settingnya medium. Untuk menghilangkannya, sebenarnya bisa saja dengan mengubah level security ke “Low”,
tetapi hal ini tidak disarankan, karena file otomatis akan meng-enable-kan macro yang ada. Jika suatu saat ada
file excel yang disusupi macro jahat, bisa berbahaya.

#7
lulu said on February 20, 2006, 1:48 pm:
Bagaimana kalau bekerja dengan microsoft word?

#8
Kiki said on February 23, 2006, 5:16 am:
Tetep ga bisa nerjemahin ke “Seribu…”
Maksudnya, konversinya jadi “Satu Ribu”
#9
Kiki said on February 23, 2006, 7:24 am:
Sori kurang lengkap, coba input 1.001.000

#10
maseko said on February 23, 2006, 6:38 pm:
#7
lulu, permasalahan tersebut juga masih menjadi pertanyaan saya, bagaimana mengaplikasikan di MS Word.
Sampai sekarang, saya belum menemukan jawabannya. Mohon maaf tidak dapat membantu.

#8
Kiki, Anda benar, kalau ada kesempatan, akan saya update. Terima kasih atas koreksinya.

#11
GusRiz said on February 28, 2006, 4:43 pm:
Om Maseko,

Terima kasih programnya sangat membantu.


Oh ya, untuk mengatasi masalah 1.001.000 bisa dimodify codenya pada bagian ribuan dari :

‘Ribuan
ElseIf No4 = “1″ And Len(Angka) = 4 Then
Nomor4 = “seribu ”

menjadi

ElseIf (No4 = “1″ And Len(Angka) = 4) Or (No6 = “0″ And No5 = “0″ And No4 = “1″) Then
Nomor4 = “seribu”

Saya cobain sih sudah bener. Kalau memang bener, mohon diupdate programnya sehingga orang tinggal pake
saja

Thx

Riz
#12
maseko said on February 28, 2006, 8:19 pm:
Wah.. terima kasih sekali nih GusRiz

#13
Arga said on March 3, 2006, 8:47 am:
error pada Office 97

#14
maseko said on March 3, 2006, 6:03 pm:
Arga, sepertinya memang hanya dapat digunakan pada Office 2000 ke atas, meskipun saya sendiri belum
mencobanya di Office 97.

#15
Asharuddin Nasution said on March 22, 2006, 2:30 pm:
Tolong donk! Aq pengen tau tentang semua fungsi excel (fungsi matematika, statistika, logika dll)

#16
maseko said on March 22, 2006, 6:25 pm:
Asharuddin Nasution, cara termudah dan termurah adalah dengan melihat dokumentasi yang ada pada
Microsoft Excel. Sebenarnya pengen juga sih nyumbang yang dalam bahasa Indonesia, tapi belom sempet dan
ilmunya juga masih dangkal.

#17
Radjah said on March 25, 2006, 3:25 pm:
Cucok…cucok..
#18
Rusli said on July 17, 2006, 12:34 pm:
Maseko, saya telah mencoba menggunakan script yang anda buat. Tetapi ada hal yang mungkin perlu
diperbaharui yakni :
1. Dalam penguraian angka dibelakang koma (desimal) dalam Bahasa Indonesia harus diuraikan dalam bentuk
satuan contohnya 32,32 = Tiga puluh dua koma tiga dua bukannya Tiga puluh dua koma tiga puluh dua, ini
akan mempermudah dalam penyebutan angka dibelakang koma dengan digit yang banyak , tentunya scriptnya
juga akan mudah. (saya gak ngerti script tapi saya rasa akan mudah menguraikannya).
2. Kalau bisa ada penambahan opsi untuk pengambilan berapa banyak angka dibelakang koma sesuai keinginan
kita tidak hanya mengambil dua angka saja. Ini mungkin akan mudah bila mengikuti poin 1 diatas (sesuai
EYD).
Demikian - Terima Kasih.

#19
aan said on July 28, 2006, 9:49 am:
selamat pagi pak mas, hehe, koq jadi lucu manggilnya. bapak-bapak/ibu-ibu, saya sedang mencari rumus fungsi
pembulat ke bawah atau ke atas pada angka uang atau rupiah; biasanya saya gunakan untuk penghitungan gaji,
berhubung tidak punya receh 1 rupiah misalnya, maka saya bulatkan ke bawah atau ke atas tapi di-tik manual.
misalnya diketahui data :
100.045 menjadi 100.000
313.921 menjadi 314.000 atau 313.500
204.349 menjadi 204.350
apakah bapak (atau yang pengomentar lain) bisa memberikan jawaban?

aan.
_______________
5666717 ext 111

#20
aan said on July 28, 2006, 11:35 am:
saya Aan ingin berkomentar lagi,
mengenai akhir kalimat, mengapa harus ada spasi pada kata terakhir. misal :
angka di cell a1 : 40,
fungsi di cell a2 : =terbilang(A1;1;”.”) : hasil “Empat puluh .”
di sebelum titik ada spasi.
mohon ma’af saya terlalu sok tau membaca script,
kalo ga salah, ada fungsi yang menghilangkan spasi yang bernama Trim, tapi setelah saya coba =TRIM(A2)
hasilnya tetap, mungkin karena karakter teksnya berasal dari rumus, jadi tidak bisa diganti.

trimss….

(kayanya kalau ada pages forum, ngbahasnya enak kali ya)

#21
andre said on July 29, 2006, 9:34 am:
salam kenal,saya kurang paham banget,pda langkah 8 user defined tidak ditemukan pada excel 2003 saya,pada
Function category,gimana cara membuat menu,nilai angksa,style,satuan kedalam bahasa indonesia.terima kasih

#22
Resky Restandi Maulana said on August 4, 2006, 12:41 pm:
Maseko….! bagai mana kalau ada point nya “” contoh (21,383.23)
tebilang : Dua Puluh Satu Koma Tiga Ratus Delapan Puluh Tiga Point Dua Tiga “”".. Tolong Dong Beri
Penjelasan Aku Bingung Banget Nih …1
Atas Bantuannya Terima kasih ,Semoga Amalnya Diterima Ok..
59401126 (021)

#23
hery said on August 5, 2006, 12:20 pm:
kalau untuk dollar dengan point gimana

#24
budi said on August 11, 2006, 2:04 pm:
kalau yang versi english_nya ada nggak mas?
#25
maseko said on August 23, 2006, 7:01 pm:
Terima kasih untuk semua yang telah memberikan respon untuk postingan ini. Rencananya saya akan menulis
ulang kodenya dengan memperhatikan masukan-masukan yang dikirim teman-teman, tunggu kabar selanjutnya.
Mohon maaf untuk tidak memberi respon per komentar yang masuk belakangan.

#26
Julita said on September 26, 2006, 2:03 pm:
Thx u so much~~saya lagi bingung tentang soal ini,kayaknya susah buangeeet,masuk angka bawahnya ada
kata-katanya,puyeng.
wish you have more good idea~

#27
Xander said on October 16, 2006, 10:47 pm:
Kalau di Excel 2003 bisa gak ya, soalnya nggak ada pilihan User Define pada function…??

#28
maseko said on October 17, 2006, 3:13 pm:
Bisa kok di Excel 2003. Cari kategori “User Define”, seharusnya di daftar fungsi ada fungsi “terbilang”.

#29
prans said on January 10, 2007, 12:39 pm:
apakah office yang dipakai harus versi tertentu untuk Menerjemahkan Angka ke Kata-kata di dalam Microsoft
Excel soalnya saya kesulitan semuanya sudah lakukan sesuai prosedure tapi tidak bisa mohon bimbingannya

terima kasih
#30
maseko said on January 10, 2007, 9:32 pm:
Saya sudah mencoba pada Excel 2000 s.d. 2003 bisa berjalan.

Perhatikan level security-nya untuk dapat menjalankan macro. Dari Tool > Macro > Security. Coba pilih
medium. Dan buka kembali file-nya. Jika ditanyakan apakah akan membolehkan macro, jawab Yes aja.

#31
Mas Winarno said on March 9, 2007, 11:28 pm:
Terima Kasih, Maseko. Saya sedang ingin meningkatkan kemampuan saya dalam excel, kebetulan sering
dimintai tolong teman-teman untuk membuat aplikasi dalam excel. Bulan lalu saya buat rapot, terbilangnya
saya pakai vlookup. Dengan add-in ini saya terbantu bisa memperkecil file

#32
aep saepuloh said on March 19, 2007, 6:10 pm:
thank for maseko yang baik hati dan rajin menabung, apa yang maseko publikasikan sangat bermanfaat, saya
udah lama mencari list program tersebut tapi baru ketemua.
Makasih sekali lagi semoga bisa terus berbagi ilmu

#33
HSis said on March 29, 2007, 1:11 pm:
makasih, masEko.
saya udah lama cari dan coba buat,tapi belum dapat.
kalo ada prog.revisinya yang dapat membulatkan atas /bawah mohon dikabarkan.

#34
Guzze said on April 2, 2007, 3:19 pm:
maseko function ini bagusssss bgt
thx
#35
young-q said on April 6, 2007, 12:11 am:
maseko, tolong aku mau minta referensi soal-soal excel dari “kelas ringan” sampai “kelas sulit”. makasih
sebelumnya.

#36
lanting said on April 10, 2007, 10:39 pm:
gimana caranya / fungsi excel utk menghitung rumus ujian nasional 2007 yang ada 2 opsi.

#37
maseko said on April 11, 2007, 9:36 am:
#35
Saya tidak punya tuh mas, masalah yang dihadapi biasanya karena pekerjaan. Coba search menggunakan
Google.

#36
Memang rumusnya bagaimana? Maaf, saya memang tidak tahu.

#38
sinta said on April 11, 2007, 3:01 pm:

#39
JEZ said on April 22, 2007, 5:53 am:
assalamu’alaikum wr wb.,
situs ini sangat bagus n cocok buat aku.

ada yang bisa bantu gak?????


aku ada tugas membuatnkwitansi dalam format MS.EXCEL. jadi dimasukin berapa aja angkanya, ntar hurufnya
(terbilangnya) juga berubah. makasih ya, kalo ada yang bantuin.
wassalamu’alaikum wr wb.

#40
imam said on April 28, 2007, 3:08 pm:
mas eko kalo emang ga ada rumusnya,ada ga cara lain?.untuk merecord 1 sel.agar nilainya tetap dan tidak
berubah misalnya:di sel A1 diketik 78, lalu di sel B2=78 juga. tapi jika sel A1 diganti dengan 99, di sel 2 nya
tetep 78. gimana ya caranya. tolong saya ya mas…..!

#41
denko said on May 17, 2007, 1:17 pm:
kok terbilangnya gak bisa konvert ke angka yang udah di buat 2 desimal ya contoh:
8,667 terbilang delapan koma enam puluh enam tapi begitu dibuat jadi dua desimal : 8,67 terbilang tetep
delapan koma enampuluh enam ada yang bisa bantu gak????

#42
dbf said on June 23, 2007, 8:45 am:
alternatif laen semoga berguna

[code]
Option Explicit

Function DH(ByVal Angka)


Dim Sementara
Dim Rupiah, Sen
Dim Posisi, Jumlah

ReDim Place(9) As String


Place(2) = ” Ribu ”
Place(3) = ” Juta ”
Place(4) = ” Milyar ”
Place(5) = ” Triliun ”

Angka = Trim(Str(Angka))
Posisi = InStr(Angka, “.”)

If Posisi > 0 Then


Sementara = Left(Mid(Angka, Posisi + 1) & “00″, 2)
Sen = Puluhan(Sementara)
Angka = Trim(Left(Angka, Posisi - 1))
End If

Jumlah = 1
Do While Angka “”
Sementara = Ratusan(Right(Angka, 3))
If Sementara “” Then Rupiah = Sementara & Place(Jumlah) & Rupiah
If Len(Angka) > 3 Then
Angka = Left(Angka, Len(Angka) - 3)
Else
Angka = “”
End If
Jumlah = Jumlah + 1
Loop

Select Case Rupiah


Case “”
Rupiah = “N I H I L”
Case Else
Rupiah = Rupiah & ” Rupiah”
End Select

Select Case Sen


Case “”
Sen = “. ”
Case Else
Sen = ” ” & Sen & ” Sen.”
End Select

DH = Rupiah & Sen


End Function

Private Function Ratusan(ByVal Angka)


Dim Hasil As String

If Val(Angka) = 0 Then Exit Function

Angka = Right(”000″ & Angka, 3)

If Left(Angka, 1) “0″ Then


If Left(Angka, 1) = “1″ Then
Hasil = “Seratus ”
Else
Hasil = Satuan(Left(Angka, 1)) & “Ratus ”
End If
End If

If Mid(Angka, 2, 1) “0″ Then


Hasil = Hasil & Puluhan(Mid(Angka, 2))
Else
Hasil = Hasil & Satuan(Mid(Angka, 3))
End If

Ratusan = Trim(Hasil)
End Function

Private Function Puluhan(ByVal MyTens)


Dim Hasil As String

If Val(Left(MyTens, 1)) = 1 Then


Select Case Val(MyTens)
Case 10: Hasil = “Sepuluh ”
Case 11: Hasil = “Sebelas ”
Case 12: Hasil = “Dua Belas ”
Case 13: Hasil = “Tiga Belas ”
Case 14: Hasil = “Empat Belas ”
Case 15: Hasil = “Lima Belas ”
Case 16: Hasil = “Enam Belas ”
Case 17: Hasil = “Tujuh Belas ”
Case 18: Hasil = “Delapan Belas ”
Case 19: Hasil = “Sembilan Belas ”
Case Else
End Select
Else
Select Case Val(Left(MyTens, 1))
Case 2: Hasil = “Dua Puluh ”
Case 3: Hasil = “Tiga Puluh ”
Case 4: Hasil = “Empat Puluh ”
Case 5: Hasil = “Lima Puluh ”
Case 6: Hasil = “Enam Puluh ”
Case 7: Hasil = “Tujuh Puluh ”
Case 8: Hasil = “Delapan Puluh ”
Case 9: Hasil = “Sembilan Puluh ”
Case Else
End Select

Hasil = Hasil & Satuan(Right(MyTens, 1))


End If

Puluhan = Hasil
End Function

Private Function Satuan(ByVal MyDigit)


Select Case Val(MyDigit)
Case 1: Satuan = “Satu ”
Case 2: Satuan = “Dua ”
Case 3: Satuan = “Tiga ”
Case 4: Satuan = “Empat ”
Case 5: Satuan = “Lima ”
Case 6: Satuan = “Enam ”
Case 7: Satuan = “Tujuh ”
Case 8: Satuan = “Delapan ”
Case 9: Satuan = “Sembilan ”
Case Else: Satuan = ” ”
End Select
End Function

[/code]

#43
Uphil`Garing said on June 23, 2007, 8:49 am:
Option Explicit
Function DH(ByVal Angka)
Dim Sementara
Dim Rupiah, Sen
Dim Posisi, Jumlah

ReDim Place(9) As String


Place(2) = ” Ribu ”
Place(3) = ” Juta ”
Place(4) = ” Milyar ”
Place(5) = ” Triliun ”

Angka = Trim(Str(Angka))
Posisi = InStr(Angka, “.”)

If Posisi > 0 Then


Sementara = Left(Mid(Angka, Posisi + 1) & “00″, 2)
Sen = Puluhan(Sementara)
Angka = Trim(Left(Angka, Posisi - 1))
End If

Jumlah = 1
Do While Angka “”
Sementara = Ratusan(Right(Angka, 3))
If Sementara “” Then Rupiah = Sementara & Place(Jumlah) & Rupiah
If Len(Angka) > 3 Then
Angka = Left(Angka, Len(Angka) - 3)
Else
Angka = “”
End If
Jumlah = Jumlah + 1
Loop

Select Case Rupiah


Case “”
Rupiah = “N I H I L”
Case Else
Rupiah = Rupiah & ” Rupiah”
End Select

Select Case Sen


Case “”
Sen = “. ”
Case Else
Sen = ” ” & Sen & ” Sen.”
End Select

DH = Rupiah & Sen


End Function

Private Function Ratusan(ByVal Angka)


Dim Hasil As String

If Val(Angka) = 0 Then Exit Function

Angka = Right(”000″ & Angka, 3)

If Left(Angka, 1) “0″ Then


If Left(Angka, 1) = “1″ Then
Hasil = “Seratus ”
Else
Hasil = Satuan(Left(Angka, 1)) & “Ratus ”
End If
End If

If Mid(Angka, 2, 1) “0″ Then


Hasil = Hasil & Puluhan(Mid(Angka, 2))
Else
Hasil = Hasil & Satuan(Mid(Angka, 3))
End If

Ratusan = Trim(Hasil)
End Function

Private Function Puluhan(ByVal MyTens)


Dim Hasil As String

If Val(Left(MyTens, 1)) = 1 Then


Select Case Val(MyTens)
Case 10: Hasil = “Sepuluh ”
Case 11: Hasil = “Sebelas ”
Case 12: Hasil = “Dua Belas ”
Case 13: Hasil = “Tiga Belas ”
Case 14: Hasil = “Empat Belas ”
Case 15: Hasil = “Lima Belas ”
Case 16: Hasil = “Enam Belas ”
Case 17: Hasil = “Tujuh Belas ”
Case 18: Hasil = “Delapan Belas ”
Case 19: Hasil = “Sembilan Belas ”
Case Else
End Select
Else

Select Case Val(Left(MyTens, 1))


Case 2: Hasil = “Dua Puluh ”
Case 3: Hasil = “Tiga Puluh ”
Case 4: Hasil = “Empat Puluh ”
Case 5: Hasil = “Lima Puluh ”
Case 6: Hasil = “Enam Puluh ”
Case 7: Hasil = “Tujuh Puluh ”
Case 8: Hasil = “Delapan Puluh ”
Case 9: Hasil = “Sembilan Puluh ”
Case Else
End Select

Hasil = Hasil & Satuan(Right(MyTens, 1))


End If

Puluhan = Hasil
End Function

Private Function Satuan(ByVal MyDigit)


Select Case Val(MyDigit)
Case 1: Satuan = “Satu ”
Case 2: Satuan = “Dua ”
Case 3: Satuan = “Tiga ”
Case 4: Satuan = “Empat ”
Case 5: Satuan = “Lima ”
Case 6: Satuan = “Enam ”
Case 7: Satuan = “Tujuh ”
Case 8: Satuan = “Delapan ”
Case 9: Satuan = “Sembilan ”
Case Else: Satuan = ” ”
End Select
End Function
#44
pranoto Suwiknyo said on June 23, 2007, 9:13 am:
mas bisa bantu saya ndak gimana cara supaya bisa menjadi satuan aja misalnya 4.50 dijadikan ke angka
menjadi( empat koma Lima Nol )tolong saya mas untuk penulisan nilai angka siswa saya..

#45
izzad said on July 18, 2007, 9:55 am:
Mas eko tks banget atas codenya, gimana ya biar code macro tersebut bisa berjalan disetiap file yang kita
punya/buat, tanpa harus insert kedalam setiap worksheet, maksudnya biar macro tersebut bisa berlaku global
setiap kita create file excel baru ataupun file-file excel kita yang lama

tks

#46
AGID said on July 18, 2007, 9:16 pm:
SDH BAGUS… AKU COBA DAN BERHASIL, TAPI APABILA DI INPUT BILANGAN YANG TERLALU
PANJANG, MAKA HASILNYA TETAP PADA BARIS YANG SAMA, BISA GA DIBUAT SABUNGAN
TERBILANGNYA PADA BARIS BERIKUTNYA,KALAU BISA, GIMANA CARANYA?..
TKS

#47
The Goeh said on July 21, 2007, 7:38 pm:
waduh… makasih banget nih atas scriptnya. kebetulan juga lagi nyari. mudah2an sih bisa dibenahi lebih baik
lagi algoritmanya. belajar bersama lebih semangat euy…

#48
maseko said on July 21, 2007, 10:48 pm:
#44
Mungkin lain waktu saya coba.
#45
Dibuat add-in dulu dengan menyimpan file sebagai add-in, nanti load add-in tersebut, sehingga setiap kali
membuka dokumen excel, fungsi tersebut sudah tersedia.

#46
Coba manfaatkan fasilitas wrapping cell-nya, semoga sesuai.

#47
Ditunggu hasilnya, jangan lupa nanti dibagi kepada yang lain.

#49
Agid said on July 22, 2007, 2:22 am:
tks mas….wrapping cell nya berhasil…
mas eko, bisa bantu aku ga? gimana caranya mau ngopy dari cell yang sdh ada formulanya ke cell lain dengan
tidak mengikutkan formula tersebut.
tks sebelumnya..

#50
agid said on July 22, 2007, 11:14 am:
mas… kalau bisa dengan macro nya juga..

tks.

#51
maseko said on July 22, 2007, 3:42 pm:
#49,50
Tanpa harus dengan makro, Excel sudah memfasilitasi mennyalin tanpa harus megikutkan formulanya, gunakan
Edit - Paste Special.. dan pilih Value.

#52
agid said on July 22, 2007, 10:26 pm:
tks mas… Panjang umur dan sukses, karena selalu membantu orang, walaupun orang yang tidak di kenal sama
sekali..

Salam..

#53
siti said on July 31, 2007, 2:13 pm:
Ini udah saya cari-cari, udah belajar dari yang lain tapi gak jebol. Makasih banyak yaa, infonya bermanfaat
bangeet… semoga Maseko selalu sukses deh!!

#54
Fajar said on August 1, 2007, 10:12 am:
Bagaimana dengan menggunakan bahasa inggrisnya..??, bagimana pengcode-annya yach..??

#55
andre wirabuana said on August 3, 2007, 10:28 pm:
Halo mas eko, saya mo bantu temen yg butuh soucrce code menggunakan fungsi terbilang dengan bahasa
inggris
berikut list codenya :
Private Function SpellDigit(strNumeric As Integer)
Dim cRet As String
On Error GoTo Pesan
cRet = “”
Select Case strNumeric
Case 0: cRet = ” zero”
Case 1: cRet = ” one”
Case 2: cRet = ” two”
Case 3: cRet = ” three”
Case 4: cRet = ” four”
Case 5: cRet = ” five”
Case 6: cRet = ” six”
Case 7: cRet = ” seven”
Case 8: cRet = ” eight”
Case 9: cRet = ” nine”
Case 10: cRet = ” ten”
Case 11: cRet = ” eleven”
Case 12: cRet = ” twelve”
Case 13: cRet = ” thirteen”
Case 14: cRet = ” fourteen”
Case 15: cRet = ” fifteen”
Case 16: cRet = ” sixteen”
Case 17: cRet = ” seventeen”
Case 18: cRet = ” eighteen”
Case 19: cRet = ” ninetieen”
Case 20: cRet = ” twenty”
Case 30: cRet = ” thirty”
Case 40: cRet = ” fourthy”
Case 50: cRet = ” fifty”
Case 60: cRet = ” sixty”
Case 70: cRet = ” seventy”
Case 80: cRet = ” eighty”
Case 90: cRet = ” ninety”
Case 100: cRet = ” one hundred”
Case 200: cRet = ” two hundred”
Case 300: cRet = ” three hundred”
Case 400: cRet = ” four hundred”
Case 500: cRet = ” five hundred”
Case 600: cRet = ” six hundred”
Case 700: cRet = ” seven hundred”
Case 800: cRet = ” eight hundred”
Case 900: cRet = ” nine hundred”
End Select
SpellDigit = cRet
Exit Function
Pesan:
SpellDigit = “(maksimal 9 digit)”
End Function

Private Function SpellUnit(strNumeric As Integer)


Dim cRet As String
Dim n100 As Integer
Dim n10 As Integer
Dim n1 As Integer
On Error GoTo Pesan
cRet = “”
n100 = Int(strNumeric / 100) * 100
n10 = Int((strNumeric - n100) / 10) * 10
n1 = (strNumeric - n100 - n10)
If n100 > 0 Then
cRet = SpellDigit(n100)
End If
If n10 > 0 Then
If n10 = 10 Then
cRet = cRet & SpellDigit(n10 + n1)
Else
cRet = cRet & SpellDigit(n10)
End If
End If
If n1 > 0 And n10 10 Then
cRet = cRet & SpellDigit(n1)
End If
SpellUnit = cRet
Exit Function
Pesan:
SpellUnit = “(maksimal 9 digit)”
End Function

Public Function TerbilangInggris(strNumeric As String) As String


Dim cRet As String
Dim n1000000 As Long
Dim n1000 As Long
Dim n1 As Integer
Dim n0 As Integer
On Error GoTo Pesan
Dim strValid As String, huruf As String * 1
Dim i As Integer
‘Periksa setiap karakter masukan
strValid = “1234567890.,”
For i% = 1 To Len(strNumeric)
huruf = Chr(Asc(Mid(strNumeric, i%, 1)))
If InStr(strValid, huruf) = 0 Then
MsgBox “Harus karakter angka!”, _
vbCritical, “Karakter Tidak Valid”
Exit Function
End If
Next i%

If strNumeric = “” Then Exit Function


If Len(Trim(strNumeric)) > 9 Then GoTo Pesan

cRet = “”
n1000000 = Int(strNumeric / 1000000) * 1000000
n1000 = Int((strNumeric - n1000000) / 1000) * 1000
n1 = Int(strNumeric - n1000000 - n1000)
n0 = (strNumeric - n1000000 - n1000 - n1) * 100
If n1000000 > 0 Then
cRet = SpellUnit(n1000000 / 1000000) & ” million”
End If
If n1000 > 0 Then
cRet = cRet & SpellUnit(n1000 / 1000) & ” thousand”
End If
If n1 > 0 Then
cRet = cRet & SpellUnit(n1)
End If
If n0 > 0 Then
cRet = cRet & ” and cents” & SpellUnit(n0)
End If
TerbilangInggris = cRet & ” only”
Exit Function
Pesan:
TerbilangInggris = “(maximum 9 digit)”
End Function

Private Sub txtAngka_Change()


lblTerbilang.Caption = TerbilangInggris(txtAngka.Text)
End Sub

Source code ini berasal dari: http://www.geocities.com/masino_sinaga/terbilanginggris.html 1

#56
didik said on August 8, 2007, 10:41 am:
Terima kasih mas eko functionnya sangat bermanfaat, tapi saya masih nyari satu function lagi yaitu untuk
pembulatan keatas dan kebawah semisal >125 rupiah dibulatkan keatas jadi 150 kalo ikatlah ilmu dengan
menuliskannya, membagikannya, menerapkannya.

#57
anakAbG said on August 9, 2007, 4:47 pm:
Makasih Scriptnya Mas Eko dan mas-mas lainnya yang udah ngasih List Codenya secara gratis.
Oh ya Mas saya ada masalah sama List Code di bawah ini Mudah-mudahan mas eko atau mas-mas yang lain
sudi membantu saya. Berikut List Codenya :

Public Function Terbilang(x As Currency)


Dim triliun As Currency
Dim milyar As Currency
Dim juta As Currency
Dim ribu As Currency
Dim satu As Currency
Dim sen As Currency
Dim baca As String
If x > 1000000000000# Then
Terbilang = “”
Exit Function
End If
‘Jika x adalah 0, maka dibaca sebagai 0
If x = 0 Then
baca = angka(0, 1)
Else
‘Pisah masing-masing bagian untuk triliun, milyar, juta, ribu, rupiah, dan sen
triliun = Int(x * 0.001 ^ 4)
milyar = Int((x - triliun * 1000 ^ 4) * 0.001 ^ 3)
juta = Int((x - triliun * 1000 ^ 4 - milyar * 1000 ^ 3) / 1000 ^ 2)
ribu = Int((x - triliun * 1000 ^ 4 - milyar * 1000 ^ 3 - juta * 1000 ^ 2) / 1000)
satu = Int(x - triliun * 1000 ^ 4 - milyar * 1000 ^ 3 - juta * 1000 ^ 2 - ribu * 1000)
sen = Int((x - Int(x)) * 100)
‘Baca bagian triliun dan ditambah akhiran triliun
If triliun > 0 Then
baca = ratus(triliun, 5) + “triliun ”
End If
‘Baca bagian milyar dan ditambah akhiran milyar
If milyar > 0 Then
baca = ratus(milyar, 4) + “milyar ”
End If
‘Baca bagian juta dan ditambah akhiran juta
If juta > 0 Then
baca = baca + ratus(juta, 3) + “juta ”
End If
‘Baca bagian ribu dan ditambah akhiran ribu
If ribu > 0 Then
baca = baca + ratus(ribu, 2) + “ribu ”
End If
‘Baca bagian rupiah dan ditambah akhiran rupiah
If satu > 0 Then
baca = baca + ratus(satu, 1) + “rupiah ”
Else
baca = baca + “rupiah”
End If
‘Baca bagian sen dan ditambah akhiran sen
If sen > 0 Then
baca = baca + ratus(sen, 0) + “sen”
End If
End If
Terbilang = UCase(Left(baca, 1)) & LCase(Mid(baca, 2))
End Function

Function ratus(x As Currency, Posisi As Integer) As String


Dim a100 As Integer, a10 As Integer, a1 As Integer
Dim baca As String
a100 = Int(x * 0.01)
a10 = Int((x - a100 * 100) * 0.1)
a1 = Int(x - a100 * 100 - a10 * 10)
‘Baca Bagian Ratus
If a100 = 1 Then
baca = “Seratus ”
Else
If a100 > 0 Then
baca = angka(a100, Posisi) + “ratus ”
End If
End If
‘Baca Bagian Puluh dan Satuan
If a10 = 1 Then
baca = baca + angka(a10 * 10 + a1, Posisi)
Else
If a10 > 0 Then
baca = baca + angka(a10, Posisi) + “puluh ”
End If
If a1 > 0 Then
baca = baca + angka(a1, Posisi)
End If
End If
ratus = baca
End Function

Function angka(x As Integer, Posisi As Integer)


Select Case x
Case 0: angka = “Nol”
Case 1:
If Posisi 2 Then
angka = “Satu ”
Else
angka = “Se”
End If
Case 2: angka = “Dua ”
Case 3: angka = “Tiga ”
Case 4: angka = “Empat ”
Case 5: angka = “Lima ”
Case 6: angka = “Enam ”
Case 7: angka = “Tujuh ”
Case 8: angka = “Delapan ”
Case 9: angka = “Sembilan ”
Case 10: angka = “Sepuluh ”
Case 11: angka = “Sebelas ”
Case 12: angka = “Duabelas ”
Case 13: angka = “Tigabelas ”
Case 14: angka = “Empatbelas ”
Case 15: angka = “Limabelas ”
Case 16: angka = “Enambelas ”
Case 17: angka = “Tujuhbelas ”
Case 18: angka = “Delapanbelas ”
Case 19: angka = “Sembilanbelas ”
End Select
End Function
****
Masalahnya gak bisa baca Misalnya 21752 (Dua puluh satu ribu…) dan yang dibacanya (Dua puluh seribu ….)
Mohon Bantuannya Mas
Terimakasih.

#58
kujang101 said on August 27, 2007, 3:24 pm:
Thanks dulu bro atas macronya. Aq tahunya dari temen nih.

Tapi ini ada pertanyaan/masalah dikit.


Waktu aq buat macro ini di workbook baru, lancar aja alias sukses.

Nah, waktu mau implementasi ke file yang sudah duluan exist ko keluarnya #NAME gitu?

Apa memang harus selalu dengan workbook yang baru?

#59
maseko said on August 27, 2007, 6:40 pm:
#58
Seharusnya pada workbook yang sudah ada maupun baru tetap berjalan.

#60
kujang101 said on August 28, 2007, 9:09 am:
nah, itu dia bro. Kenapa yach kira2?

#61
kujang101 said on September 5, 2007, 10:32 am:
Ralat bro…..

Udah bisa ternyata….

Makasih…. :shakehand
#62
andry said on September 7, 2007, 10:02 am:
mas eko, ada ga’ penulisan rumus seperti itu di Microsoft Access ?

thx
andry

#63
maseko said on September 7, 2007, 2:14 pm:
#62
Dulu saya pakai fungsi yang sama di access, bisa kok..

#64
Haeruddin said on September 28, 2007, 8:58 am:
bagaimana kalau mau menerjemahkan seperti pada SKHU (Surat Keteranan Hasil Ujian)? Contoh: 45,67
dibaca:Empat Lima, Enam Tujuh. Tolong dong !!!

#65
sabriani said on November 17, 2007, 9:22 am:
mau nanya kalo ini apa ya :
1. char
2. Len
3. Value
4. Trim
5. Subtitute
6. Rept
7. Replace
8. Code
9. Concatenate
10. exact
#66
rahma said on November 19, 2007, 12:12 pm:
halo maseko

waduh thx banget nih buat source codenya….


aku kebantu banget, kebetulan dikantor temen ada yang minta dibuatin, pas bgt dpt “jurus” nya.
tapi yang mo aku tanyain sama kaya pertanyaan no 58
Nah, waktu mau implementasi ke file yang sudah duluan exist ko keluarnya #NAME gitu?

Apa memang harus selalu dengan workbook yang baru?

—> kalo pindah komputer, apa kita harus buat lagi dari awal?

ada cara lebih mudah ga maseko?

thx yaa

#67
jul said on December 5, 2007, 3:17 pm:
thx y
da memudahkan qu nyelesai tugas qu

#68
ema said on December 7, 2007, 3:54 pm:
mas ko aku tersendat pada saat mengkopi dan paste list programnya , karena tampilan gambarnya nga muncul ,
tolong dong mas ,

#69
Nandar said on December 15, 2007, 6:24 pm:
Aku mo minta tolong nih, apa ya code makronya kalo misalnya kita periksa dalam satu kolom, truss ada yang
#N/A..nah yang baris #N/A ini mo dipindahkan ke sheet yang baru….thanks ya..
#70
arie said on December 17, 2007, 5:39 pm:
thanks bgt rumus nya..
tinggal masukin ke cell..
jadi deh..

klo yg versi english nya gmn?


bisa di bikin rumus seperti bhs indonesia ngga?

klo yg dikasi skrip kayak yg diatas…


harus bikin interface yg baru ya..
buat nampilin terbilangnya

#71
tolak_bala said on December 21, 2007, 11:37 am:
om boleh tanya ya ?? (tanya aja ntar pasti dijawab)..
heheheheee. thanks ya ??

gimana caranya mengubah angka desimal menjadi teks ?? misalnya gini : 8.55 ntar jadinya gini : delapan koma
lima puluh lima ..
oke om yang baik dan rajin menabung thanks atas bantuannya.. semoga Tuhan Yang Maha Kuasa melindungi
kita semua … Amiiiinnnnn…

#72
maseko said on December 21, 2007, 2:39 pm:
#64, 71
Sampai saat ini masih belum sempat mengubah kode agar mendukung penulisan desimal. Mohon maaf.

#66
Pada file yang sudah digunakan kode ini, simpan saja sebagai add-in, nanti office disetting agar load file add-in
yang dibuat.
#73
fredi said on January 21, 2008, 1:28 pm:
terima kasih mas, saya sangat terbatu dengan cara ini

#74
fredi said on February 2, 2008, 9:42 am:
mas lam kenal saya fredi.

mas eko saya mau tanya gimana klo pembulatan nilai ke ratusan?
contoh : 24734 menjadi = 24750 atau 24800
terima kasih

#75
Fungsi Terbilang Excel, Mengubah Angka Ke Huruf. « c1p1
said on February 2, 2008, 8:10 pm:
[...] saya teringat dengan salah sati artikel yang di tulis maseko. [...]

#76
Sanders said on February 11, 2008, 11:52 am:
Siang mas, saya baru lihat website ini pas lagi cari info tentang pembulatan nilai rupiah pada kasus yang
ditanyakan sdr. Aan yaitu :

100.045 menjadi 100.000


313.921 menjadi 314.000 atau 313.500
204.349 menjadi 204.350
apakah bapak (atau yang pengomentar lain) bisa memberikan jawaban?

Bisa gak ya masEko, makasih banyak,… saya tunggu jawabannya… Trims lagi
#77
aque said on February 14, 2008, 1:20 pm:
lam kenal. langsung saja, semisal saya mengetikan kata joko, kemudian sy akan mengambil huruf k nya saya.
sy hrs menggunakan rumus apa yah. pleaseeee bantu me yah

#78
otes said on February 26, 2008, 9:56 am:
saya punya masalah mengenai coversi macro lotos ke excel tolong dong cari solusinya

#79
cool said on March 14, 2008, 9:27 am:
kalo pengen ada kurung tutup bukanya gmn yah

misal 100 –> (seratus rupiah)

#80
betha said on March 28, 2008, 11:11 pm:
terima kasih sekali, kerna aku bekerja sering membuat RAB

#81
uyajelek said on March 31, 2008, 6:11 pm:
WAHHHHH…… rame juga ya yang bahas exel,,,,,,

Mas eko harus bekerja keras nih…..


Semangat terus mas……… kita dukung mas eko…..

ciayo….

oh iya mas….. kita tunggu juga untuk terbilang versi englishnya ya….

(”,)
#82
RIDWAN said on April 3, 2008, 10:00 pm:
TDK USAH PAKAI VB EDITOR JG BISA, HANYA DLM 1 SHEET SAJA, SUDAH BISA PAKAI U/
TERBILANG RUPIAH & USD. TERBUKTI SY BIKIN U/ DIKANTOR. HUBUNGI EMAI
SY:INDONESIAGOOGLE@YAHOO.COM

#83
sahabat said on April 10, 2008, 2:05 pm:
bagimana kalo diterapkan di Ms. Acces Mas… Mohon pencerahannya..
terima kasih…

mau saya output di reportnya….


fungsi harus di simpan : di modul or di event … or di mana…..

#84
Haris said on April 18, 2008, 11:50 am:
Wah… Thanks berat boss, artikelnya sangat membantu

#85
koentadi said on April 25, 2008, 8:27 pm:
Terima kasih banyak mas, sukses selalu

#86
Mr-Manto said on May 3, 2008, 7:47 am:
Ma kasih banyak deh. smoga selalu jaya di dunia maya
#87
mario benedicto said on May 19, 2008, 7:31 am:
bos gw mau nanya tipa kali gw melakukan kalkulasi =C52+$C$7 maka hasilnya 96.62 tapi ktika gw paste
spesial value 96.6199999999999 pada formula mengapa hal ini terjadi padahal angka yang dijumlahkan hanya
2angka dibelakang point dan seharusnya nga hasil dari penghitungan pun 2 angka dibelakang koma

#88
Ivan said on June 10, 2008, 11:11 am:
mas eko, mohon bantuannya
kenapa angka yang jmlhnya lebih dr 15 angka d bulatkan ya?
bagaimana caranya untuk tdk membulatkan angka tsb
karena angka yang saya pakai skitar 16-17 angka mas
apakah bs membantu
thanks before

#89
sidaus said on June 17, 2008, 6:11 pm:
thanks banget mas eko…. ilmu ini sangat berguna

#90
eiwan said on June 19, 2008, 8:50 am:
bro mosko, salam kenal…
keren abis dah….
terutama pas di add-in kan ke ms excel, biar di semua worksheet baru bisa di pake formula “terbilang”
hehe….

thanks…

#91
Iis said on June 19, 2008, 10:09 am:
Terima kasih mas eko, akhirnya saya bisa juga ….
cuma masih ada satu lagi nich … punya gak terbilang untuk dollar, sebetulnya saya sudah ada tapi di setiap
awal tulisan hurupnya selalu Kapital …

Terima kasih

#92
eko wahyono said on June 23, 2008, 12:04 pm:
makasih mas, udah mbanyu aku tuk nemuinbingungku. soale aku butuh banget tuk buat laporan nilai dan
kuitansi.

#93
eko wahyono said on June 27, 2008, 11:56 am:
thank’s banyak mas, satu lagi tugasku tuk mbuat nilai skhu udah kelar. tapi klao mo nampilin nilai enam koma
nol nol gimana yach? juga enam, tujuh dua gimana juga? mohon pencerahannya donk. thak’s.

#94
ben said on August 9, 2008, 12:23 pm:
tq keren abiz )

#95
yohanes Wattimena said on August 15, 2008, 12:28 pm:
gimana caranya membuat otomatis rumus dari sheet per sheet di microsoft exel 2003 bos ku lupa
caranya,mohon bantuannya.

#96
miko said on September 23, 2008, 12:05 pm:
kalo buat exel 2007 bisa tidak ya??
#97
embun said on October 13, 2008, 11:20 pm:
waduh g mna ya aku sulit memahaminya soale aku belajar ms.exel juga belum lama g mna ya biyar cepet
nyantolnya

#98
epank said on October 29, 2008, 9:31 pm:
untuk pembuatan RAB bisanya gw pake fungsi bawaan excel =int(A1/1000)*1000
A1 = sel yg mau dibulatkan
1000 = pembulatan dalam ribuan (100 bila u ratusan)

#99
Dhidhin said on November 24, 2008, 11:18 am:
aku ad module VB tuk baca angka (Itung-itung ikut sharing)

‘Module Baca_Angka
‘by Dhidhin Haris S
‘=====================
‘cara pakenya anda tinggal panggil fungsi :
‘ bacaangka(angka)

‘untuk konversi numerik ke string


Private Function TAngka(Angka) As String
Select Case Angka
Case 0: TAngka = “nol ”
Case 1: TAngka = “satu ”
Case 2: TAngka = “dua ”
Case 3: TAngka = “tiga ”
Case 4: TAngka = “empat ”
Case 5: TAngka = “lima ”
Case 6: TAngka = “enam ”
Case 7: TAngka = “tujuh ”
Case 8: TAngka = “delapan ”
Case 9: TAngka = “sembilan ”
End Select
End Function

Private Function Angka3D(Angka) As String


‘memecah angka menjadi ratusan, puluhan dan satuan
sat = Mid(Angka, Len(Angka), 1)
If Len(Angka) >= 2 Then
pul = Mid(Angka, Len(Angka) - 1, 1)
If Len(Angka) = 3 Then
rat = Mid(Angka, Len(Angka) - 2, 1)
End If
End If

‘untuk ratusan
Select Case rat
Case 0: tr = “”
Case 1: tr = “seratus ”
Case Else: tr = TAngka(rat) & “ratus ”
End Select
‘untuk puluhan
Select Case pul
Case 0: tp = “”
Case 1: Select Case sat
Case 0: tp = “sepuluh ”
Case 1: tp = “sebelas ”
Case Else: tp = TAngka(sat) & “belas ”
End Select
GoTo final
Case Else: tp = TAngka(pul) & “puluh ”
End Select
‘untuk satuan
Select Case sat
Case 0: ts = “”
Case Else: ts = TAngka(sat)
End Select

final:
Angka3D = tr & tp & ts
End Function

Private Function BcAng(Angka) As String


Dim group(9)

Teks = “”
pj = Len(Angka)
If pj > 27 Then
MsgBox “Digit terlalu panjang ! ” & vbCrLf & “Maksimum 27 Digit”
Else
‘menghitung jumlah group
n = pj \ 3
‘untuk group sisa
If (pj Mod 3) 0 Then
group(n + 1) = Mid(Angka, 1, pj - 3 * n)
If group(n + 1) = 1 And ((n + 1) = 2 Or (n + 1) = 6) Then
Teks = “se”
Else
Teks = Angka3D(group(n + 1))
End If
If Teks “” Then
Select Case n + 1
Case 2: Teks = Teks & “ribu ”
Case 3: Teks = Teks & “juta ”
Case 4: Teks = Teks & “milyar ”
Case 5: Teks = Teks & “trilyun ”
Case 6: Teks = Teks & “ribu trilyun ”
Case 7: Teks = Teks & “juta trilyun ”
Case 8: Teks = Teks & “milyar trilyun ”
Case 9: Teks = Teks & “trilyun trilyun ”
End Select
End If
End If

‘untuk masing-masing group


For i = n To 1 Step -1
group(i) = Mid(Angka, pj - 3 * i + 1, 3)
If group(i) = 1 And (i = 2 Or i = 6) Then
Teks = Teks & “se”
Else
Teks = Teks & Angka3D(group(i))
End If

If Angka3D(group(i)) “” Then
Select Case i
Case 2: Teks = Teks & “ribu ”
Case 3: Teks = Teks & “juta ”
Case 4: Teks = Teks & “milyar ”
Case 5: Teks = Teks & “trilyun ”
Case 6: Teks = Teks & “ribu trilyun ”
Case 7: Teks = Teks & “juta trilyun ”
Case 8: Teks = Teks & “milyar trilyun ”
Case 9: Teks = Teks & “trilyun trilyun ”
End Select
End If
Next i
If Angka = 0 Then Teks = “nol”
BcAng = Teks
End If
End Function

Private Function AdaKoma(Teks) As Boolean


AdaKoma = False
For i = 1 To Len(Teks)
st = Mid(Teks, i, 1)
If st = “.” Or st = “,” Then
AdaKoma = True
End If
Next i
End Function

Private Function AdaRupiah(Teks) As Boolean


AdaRupiah = False
If UCase(Left(Teks, 2)) = “RP” Then AdaRupiah = True
End Function

Private Function AdaNegatif(Teks) As Boolean


AdaNegatif = False
If Left(Teks, 1) = “-” Then AdaNegatif = True
End Function
Public Function BacaAngka(Angka) As String
If AdaRupiah(Angka) Then
smt = BacaAngka(Right(Angka, Len(Angka) - 2))
BacaAngka = smt & ” rupiah”
Exit Function
End If

If AdaNegatif(Angka) Then
smt = BacaAngka(Right(Angka, Len(Angka) - 1))
BacaAngka = “negatif ” & smt
Exit Function
End If

If AdaKoma(Angka) Then
kt = InStr(1, Angka, “,”)
If kt = 0 Then sp = Split(Angka, “.”) Else sp = Split(Angka, “,”)
BacaAngka = BcAng(sp(0)) & ” koma ”
For i = 1 To Len(sp(1))
BacaAngka = BacaAngka & TAngka(Mid(sp(1), i, 1))
Next i
Else
BacaAngka = BcAng(Angka)
End If
End Function

#100
sampuray_x said on November 25, 2008, 11:11 am:
maseko, gambarnya ko serem..
gambarnya kematian n kuburan, apakah ada yang nge hack…or emang sengaja ?

#101
maseko said on November 25, 2008, 11:20 am:
#100
Saya malah baru tahu, itu aslinya gambar dihosting di imageshack.us, dan saya masih belum tahu kenapa bisa
begitu.
#102
Muklis said on December 24, 2008, 3:54 pm:
mas tenk’s ya tuk skripnya ms excel, sy coba bisa
tapi kalau ms excelnya ditutup dan dibuka lagi fungsinya tidak jalan. apakah setiap menggunakan sekrip
tersebut harus membuka lembar kerja baru lagi?
tolong beri sy soal dan pembahasan tentang ms excel ke email ini ; muk_lis@ymail.com.

#103
salman said on December 26, 2008, 8:07 pm:
malem, saya mau tanya tentang excel!gimana si cara buat penjumlahan agar terbilangnya sama dengan hasil
jumlah angkanya?

#104
Fadjar Teguh Novianto said on January 6, 2009, 8:54 am:
mas ijin ngunduh….

iya mas kok step by step nya gambar kuburan gitu???

boleh kirim ke imel saya langkah2 pembuatan fungsi terbilang pada ms xcell nya mas? ke fadjar.tn@gmail.com
bisa juga mas….

nuwun..

#105
Fadjar Teguh Novianto said on January 6, 2009, 9:02 am:
oh iya mas lupa… klo di ms office 2007 gmn? sama ajakah?

makasi sekali lagi…


#106
Dwi WJ said on January 7, 2009, 10:55 am:
Mohon ijin sharing Mas.
Script ini saya masukkan ke VBA. Utk contoh angka 25,655,245.36 akan dihasilkan : Dua Puluh Lima Juta
Enam Ratus Lima Puluh Lima Ribu Dua Ratus Empat Puluh Lima Rupiah dan Tiga Puluh Enam Sen.
Penerapannya dng rumus =inrupiah(25655245.36)

Smoga bermanfaat
ndorodwi@gmail.com

mulai copy :
‘****************’ Main Function *’****************
Function Inrupiah(ByVal MyNumber)
Dim Rupiah, Sen, Temp, llSeribu
Dim DecimalPlace, Count
ReDim Place(9) As String
Place(2) = ” Ribu ”
Place(3) = ” Juta ”
Place(4) = ” Miliar ”
Place(5) = ” Trilyun ” ‘ String representation of amount
MyNumber = Trim(Str(MyNumber)) ‘ Position of decimal place 0 if none
DecimalPlace = InStr(MyNumber, “.”)
‘Convert cents and set MyNumber to Rupiah amount
If DecimalPlace > 0 Then
Sen = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & “00″, 2))
MyNumber = Trim(Left(MyNumber, DecimalPlace - 1))
End If
Count = 1

Do While MyNumber “”
Temp = GetHundreds(Right(MyNumber, 3))
If Temp “” Then Rupiah = Temp & Place(Count) & Rupiah

If Len(MyNumber) > 3 Then


llSeribu = IIf(Len(MyNumber) = 4 And Mid(MyNumber, 1, 1) = _
“1″, True, False)
MyNumber = Left(MyNumber, Len(MyNumber) - 3)
Else
MyNumber = “”
End If
Count = Count + 1
Loop

Select Case Rupiah


Case “”
Rupiah = “Nol Rupiah”
Case “One”
Rupiah = “Satu Rupiah”
Case Else

If llSeribu Then
Rupiah = Trim(Rupiah) & ” Rupiah”
Rupiah = Application.Substitute(Rupiah, “Satu Ribu”, “Seribu”)
Else
Rupiah = Trim(Rupiah) & ” Rupiah”
End If

End Select
Select Case Sen
Case “”
Sen = “” ‘” dan Nol Sen”
Case “One”
Sen = ” dan Satu Sen”
Case Else
Sen = ” dan ” & Sen & ” Sen”
End Select

Inrupiah = Trim(Rupiah) & Sen

End Function
‘*******************************************
‘ Converts a number from 100-999 into text *
‘*******************************************
Function GetHundreds(ByVal MyNumber)
Dim Result As String
If Val(MyNumber) = 0 Then Exit Function
MyNumber = Right(”000″ & MyNumber, 3) ‘Convert the hundreds place
If Mid(MyNumber, 1, 1) “0″ Then
If Mid(MyNumber, 1, 1) = “1″ Then
Result = ” Seratus ”
Else
Result = GetDigit(Mid(MyNumber, 1, 1)) & ” Ratus ”
End If
End If
‘Convert the tens and ones place
If Mid(MyNumber, 2, 1) “0″ Then
Result = Result & GetTens(Mid(MyNumber, 2))
Else
Result = Result & GetDigit(Mid(MyNumber, 3))
End If

GetHundreds = Trim(Result)

End Function
‘*********************************************
‘ Converts a number from 10 to 99 into text. *
‘*********************************************
Function GetTens(TensText)
Dim Result As String
Result = “” ‘null out the temporary function value
If Val(Left(TensText, 1)) = 1 Then ‘ If value between 10-19
Select Case Val(TensText)
Case 10: Result = “Sepuluh”
Case 11: Result = “Sebelas”
Case 12: Result = “Dua Belas”
Case 13: Result = “Tiga Belas”
Case 14: Result = “Empat Belas”
Case 15: Result = “Lima Belas”
Case 16: Result = “Enam Belas”
Case 17: Result = “Tujuh Belas”
Case 18: Result = “Delapan Belas”
Case 19: Result = “Sembilan Belas”
Case Else
End Select
Else ‘ If value between 20-99
Select Case Val(Left(TensText, 1))
Case 2: Result = “Dua Puluh ”
Case 3: Result = “Tiga Puluh ”
Case 4: Result = “Empat Puluh ”
Case 5: Result = “Lima Puluh ”
Case 6: Result = “Enam Puluh ”
Case 7: Result = “Tujuh Puluh ”
Case 8: Result = “Delapan Puluh ”
Case 9: Result = “Sembilan Puluh ”
Case Else
End Select
Result = Result & GetDigit _
(Right(TensText, 1)) ‘Retrieve ones place
End If

GetTens = Trim(Result)

End Function
‘*******************************************
‘ Converts a number from 1 to 9 into text. *
‘*******************************************
Function GetDigit(Digit)
Select Case Val(Digit)
Case 1: GetDigit = “Satu”
Case 2: GetDigit = “Dua”
Case 3: GetDigit = “Tiga”
Case 4: GetDigit = “Empat”
Case 5: GetDigit = “Lima”
Case 6: GetDigit = “Enam”
Case 7: GetDigit = “Tujuh”
Case 8: GetDigit = “Delapan”
Case 9: GetDigit = “Sembilan”
Case Else: GetDigit = “”
End Select
End Function

#107
AriefDJ™ said on January 14, 2009, 11:31 am:
ThX a lot.. Sebelomnya pake fungsi biasa yang sangat ribet, dan cuman bisa utk 1 cell..

You might also like